// Copyright 2008 Senary
// See credits.txt for details.

// This file is part of Omega VII.

// Omega VII is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// Omega VII is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with Omega VII.  If not, see <http://www.gnu.org/licenses/>.

#pragma once

#include <windows.h> //required by adll.h

#include "sdk_engine/adll.h"

class SpaceObject;

const var N_SUN_PARTICLES = _VAR(150);
const var N_SUN_CENTER_PARTICLES = _VAR(0);
const var SUN_PARTICLE_SIZE = _VAR(150);
const var MAX_SUN_RADIUS = _VAR(70.0);
const var DRIFT_FACTOR = _VAR(1);

//Particle Skills
#define A skill[0]
#define B skill[1]
#define RANDOM_PARTICLE_DRIFT skill[2]
#define R skill[3]
#define SUN_CENTER_X skill_x
#define SUN_CENTER_Y skill_y
#define SUN_CENTER_Z skill_z

// This is a pure method class without any data...
class Star
{
private:

	static void enhanceParticle(PARTICLE* p);
	
	static void sun(PARTICLE* p);
	static void sun2(PARTICLE* p);
	static void sunCenter(PARTICLE* p);
	static void moveParticle(PARTICLE* p);

	Star();

public:
	~Star(void);

	static void createStar(SpaceObject* so);
};
